home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1993 July / Internet Tools.iso / RockRidge / mail / pine / ccmd / makefile.sysv < prev    next >
Encoding:
Makefile  |  1988-08-19  |  3.5 KB  |  151 lines

  1. # Author: Howie Kaye
  2. #
  3. # Columbia University Center for Computing Activities, July 1986.
  4. # Copyright (C) 1986, 1987, Trustees of Columbia University in the
  5. # City of New York.  Permission is granted to any individual or
  6. # institution to use, copy, or redistribute this software so long as
  7. # it is not sold for profit, provided this copyright notice is
  8. # retained.
  9. #
  10.  
  11. .SUFFIXES: .c .o .obj .exe .a .lib .h .h4 .tmp
  12.  
  13. LOCAL=./local
  14. MACHINE=SYSV
  15. CFLAGS= -O -I. -I$(LOCAL) -D$(MACHINE)
  16.  
  17. LIBNAME=ccmd-noran.a
  18.  
  19. INCLUDES=ccmd.h cmfnc.h cmfncs.h datime.h ccmdmd.h cmkeyval.h
  20. LOCALINCLUDES= ${LOCAL}/ccmd.h ${LOCAL}/cmfnc.h ${LOCAL}/cmfncs.h ${LOCAL}/datime.h $(LOCAL)/ccmdmd.h $(LOCAL)/cmkeyval.h
  21.  
  22. OBJ=.o
  23. EXE=
  24.  
  25. COBJS=ccmd$(OBJ) ccmdut$(OBJ) ccmdio$(OBJ) ccmdmd$(OBJ) ccmdst$(OBJ) \
  26.     stdact$(OBJ) cmcfm$(OBJ) cmkey$(OBJ) cmnum$(OBJ) cmqst$(OBJ) \
  27.     cmnoi$(OBJ) cmtxt$(OBJ) cmfld$(OBJ) cmtok$(OBJ) cmswi$(OBJ) \
  28.     cmpara$(OBJ) cmtad$(OBJ) cmmisc$(OBJ)
  29.  
  30. OBJS=ccmd$(OBJ) ccmdut$(OBJ) ccmdio$(OBJ) ccmdmd$(OBJ) ccmdst$(OBJ) \
  31.     stdact$(OBJ) cmcfm$(OBJ) cmkey$(OBJ) cmnum$(OBJ) cmqst$(OBJ) \
  32.     cmnoi$(OBJ) cmtxt$(OBJ) cmfld$(OBJ) cmtok$(OBJ) cmswi$(OBJ) \
  33.     cmpara$(OBJ) cmtad$(OBJ) cmmisc$(OBJ) cmusr$(OBJ) datime$(OBJ) \
  34.     cmfil$(OBJ) filelist$(OBJ) wild$(OBJ) cmchar$(OBJ) cmgrp$(OBJ) \
  35.     cmver$(OBJ) 
  36.  
  37. LIBS=ccmd.a -lcurses
  38. #LIBS=-lccmd -ltermlib
  39.  
  40. RM=rm
  41. LINK=cc $(CFLAGS) -o $@ $@${OBJ} $(LIBS)
  42. COPY=cp
  43. CHMOD=chmod u+w
  44. LIBADD=ar r $(LIBNAME) $?
  45. RANLIB=ar cr $@ `lorder $(OBJS) | tsort`
  46. EXT=unx
  47. SPLIT=./split$(EXE)
  48. MKDIR=mkdir
  49. RENAME=mv
  50. MAKE=make
  51.  
  52. all: test$(EXE) skel$(EXE)
  53.  
  54. ccmd: ccmd.a
  55.  
  56. split$(EXE): split$(OBJ)
  57.     $(CC) -o split split$(OBJ)
  58.  
  59. cmkeyval: cmkeyval$(OBJ)
  60.     $(CC) -o cmkeyval cmkeyval$(OBJ)
  61.  
  62. cmkeyval.h: cmkeyval
  63.     ./cmkeyval > cmkeyval.h
  64.  
  65. cmfnc.h: cmfnc.h4 cmconf.h4 cmcfm.cnf cmkey.cnf cmnum.cnf cmfld.cnf \
  66.      cmqst.cnf cmtxt.cnf cmswi.cnf cmtad.cnf cmtok.cnf cmnoi.cnf \
  67.      cmgnrc.cnf cmfil.cnf cmusr.cnf cmgrp.cnf cmpara.cnf split$(EXE) \
  68.      cmfnc.top cmfncs.top cmchar.cnf cmkeyval.h
  69.     m4 cmfnc.h4 > cmfnc.tmp
  70.     $(SPLIT) < cmfnc.tmp
  71.     $(RM) cmfnc.tmp
  72.  
  73. cmfncs.h: cmfnc.h
  74.  
  75. $(LOCAL): $(INCLUDES)
  76.     -$(MKDIR) $(LOCAL)
  77.  
  78. $(LOCALINCLUDES): $(INCLUDES)
  79.     -$(MKDIR) $(LOCAL)
  80.     -$(COPY) $(INCLUDES) $(LOCAL)
  81.     -$(CHMOD) $(LOCALINCLUDES)
  82. ccmdmd.c: ccmdmd.$(EXT)
  83.     -$(COPY) ccmdmd.$(EXT) ccmdmd.c
  84.  
  85. $(COBJS): $(LOCALINCLUDES)
  86.  
  87. cmusr$(OBJ): cmusr.c $(LOCALINCLUDES) cmusr.h
  88.  
  89. datime$(OBJ): datime.c datime.h tzone.h dtpat.h
  90.  
  91. cmfil$(OBJ): cmfil.c $(LOCALINCLUDES) cmfbrk.$(EXT) filelist.h cmfil.h 
  92.  
  93. filelist$(OBJ): filelist.c $(LOCALINCLUDES) filelist.h
  94.  
  95. wild$(OBJ): wild.c
  96.  
  97. cmchar$(OBJ): cmchar.c
  98.  
  99. cmgrp$(OBJ): cmgrp.c $(LOCALINCLUDES) cmgrp.h
  100.  
  101. cmver$(OBJ): cmver.c cmver.h
  102.  
  103. $(LIBNAME): $(OBJS)
  104.     $(LIBADD)
  105.  
  106. #only for msdos
  107. # dir.${OBJ}: dir.c
  108. #    $(CC) dir.c 
  109. #
  110. # $(LIBNAME):: dir$(OBJ)
  111. #    $(LIBADD) 
  112. #end msdos only
  113.  
  114. ccmd.a:    $(LIBNAME)
  115.     $(COPY) $(LIBNAME) ccmd.a
  116.     $(RANLIB) 
  117.  
  118. ask$(EXE): ask.$(OBJ)
  119.     cc -o ask ask.$(OBJ)
  120.  
  121. newversion1: ask
  122.     @echo 'Answer no unless you wish to update version info.'
  123.     -@if ( ask 'make a new version? ') then make newversion1 ; fi
  124.  
  125. newversion:
  126.     co -l cmver.h
  127.     incversion$(EXE) < cmver.h > cmver.h.new
  128.     $(RENAME) cmver.h cmver.h.old
  129.     $(RENAME) cmver.h.new cmver.h
  130.     ci -u cmver.h
  131.     $(MAKE) ccmd.a
  132.  
  133. #install: $(LOCALINCLUDES) ccmd.a newversion1
  134. install: $(LOCALINCLUDES) ccmd.a
  135.     $(COPY) ccmd.a /usr/local/lib/libccmd.a
  136.     $(RANLIB) /usr/local/lib/libccmd.a
  137.  
  138. /usr/local/lib/libccmd.a: $(LOCALINCLUDES) ccmd.a
  139.     $(MAKE) install
  140.  
  141. test$(OBJ): test.c $(LOCALINCLUDES)
  142.  
  143. test$(EXE): test$(OBJ) ccmd.a
  144.     $(LINK)
  145.  
  146. skel$(OBJ): skel.c $(LOCALINCLUDES)
  147.  
  148. skel$(EXE): skel$(OBJ) ccmd.a
  149.     $(LINK)
  150.  
  151.